//***********************************************************************************************
//  Average.java    Author:Duanzhixuan
// 
//   Demonstrates the use of a while loop, a sentinel value, and a running sum.
//**********************************************************************************************

import java.text.DecimalFormat;
import java.util.Scanner;

public class Average
{
  //-----------------------------------------------------------------------------------------------
  // Computes the averages of a set of values entered by the user. The running sum is printed as the numbers are entered.
  //*----------------------------------------------------------------------------------------------
public static void main(String[] args)
{
   int sum = 0, value, count = 0;
  double average;

Scanner scan = new Scanner(System.in);
System.out.print("Enter an integer (0 to quit):");
value = scan.nextInt();

while (value != 0)  //  sentinel value of 0 to terminate loop
{
   count++;

    sum += value;
    System.out.println("The sum so far is "+sum);

    System.out.println("Enter an integer (0 to quit):");
    value = scan.nextInt();
}

System.out.println();

if (count == 0)
    System.out.println("No values were entered:");
else 
{
   average = (double)sum/ count;

    DecimalFormat fmt = new DecimalFormat("0.###");
    System.out.println("The average is " + fmt.format(average));
}
}
}
